package ai.people.netmon.telegram.service;

import ai.people.netmon.framework.domain.telegram.entity.Users;
import ai.people.netmon.framework.model.response.PageResponse;
import ai.people.netmon.telegram.domain.request.channels.UsersRequest;

/**
 * 管理系统-用户服务
 *
 * @author yuanqinglong
 * @date 2022/1/7 16:45
 */
public interface ManageUserService {


    /**
     * 分页查询用户
     *
     * @param usersConditions 用户环境
     * @return {@link PageResponse}<{@link Users}>
     */
    PageResponse<Users> selectUserPage(UsersRequest usersConditions);

    /**
     * 通过id查询
     *
     * @param userId 用户id
     * @return {@link Users}
     */
    Users selectById(Long userId);

    /**
     * 添加用户
     *
     * @param users 用户
     * @return int
     */
    int addUser(Users users);

    /**
     * 更新用户
     *
     * @param users 用户
     * @return int
     */
    int updateUserById(Users users);

    /**
     * 删除用户
     *
     * @param userId 用户id
     * @return int
     */
    int deleteUserById(Long userId);
}
